package swim.entitybeans;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name="aiuto")
public class Aiuto implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1746771983332716499L;
	
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="aiuto_id",unique=true, nullable=false)
	private Long id;
	@ManyToOne
	@JoinColumn(name="dato_da_id")
	private Utente dato_da;
	@ManyToOne
	@JoinColumn(name="ricevuto_da_id")
	private Utente ricevuto_da;
	private String titolo;
	private boolean stato;
	private boolean visualizzato;
	private boolean rifiutato;
	private boolean chiuso;
	@Temporal(TemporalType.TIMESTAMP)
    private Date data;
	
	@OneToMany(mappedBy="aiuto")
	private Set<Messaggi> messaggi;

	public Utente getRicevuto_da() {
		return ricevuto_da;
	}
	public void setRicevuto_da(Utente ricevuto_da) {
		this.ricevuto_da = ricevuto_da;
	}
	public String getTitolo() {
		return titolo;
	}
	public void setTitolo(String titolo) {
		this.titolo = titolo;
	}
	public boolean isStato() {
		return stato;
	}
	public void setStato(boolean stato) {
		this.stato = stato;
	}
	public boolean isVisualizzato() {
		return visualizzato;
	}
	public void setVisualizzato(boolean visualizzato) {
		this.visualizzato = visualizzato;
	}
	public Date getData() {
		return data;
	}
	public void setData(Date date) {
		this.data = date;
	}
	public Long getId() {
		return id;
	}
	public Set<Messaggi> getMessaggi() {
		return messaggi;
	}
	public void setMessaggi(Set<Messaggi> messaggi) {
		this.messaggi = messaggi;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public Utente getDato_da() {
		return dato_da;
	}
	public void setDato_da(Utente dato_da) {
		this.dato_da = dato_da;
	}
	public boolean isRifiutato() {
		return rifiutato;
	}
	public void setRifiutato(boolean rifiutato) {
		this.rifiutato = rifiutato;
	}
	public boolean isChiuso() {
		return chiuso;
	}
	public void setChiuso(boolean chiuso) {
		this.chiuso = chiuso;
	}
}
